import hanlp
from django.utils.html import escape
from django.shortcuts import render

# 加载预训练的分词模型
tok = hanlp.load(hanlp.pretrained.tok.COARSE_ELECTRA_SMALL_ZH)


def tokenizer_view(request):
    initial_example = ("2019年，刘某在北京市朝阳区的某商场内开设了一家电子产品店，未经许可销售了一些涉嫌侵犯专利权的电子设备。"
                       "\n此案在北京市第一中级人民法院审理，并由法官李晓明主持。")  # 初始例句
    user_input = initial_example  # 用于保存用户输入的文本
    highlighted_text = ""
    show_result = False

    if request.method == 'POST':
        show_result = True
        text = request.POST['text']
        user_input = escape(text)

        # 使用 HanLP 进行分词
        tokens = tok(text)

        # 高亮处理每个词
        for word in tokens:
            highlighted_text += f'<span class="token">{escape(word)}</span> '

    return render(request, 'Tokenizer/Tokenizer.html', {
        'highlighted_text': highlighted_text,
        'user_input': user_input,
        'show_result': show_result,
    })

